{
  "mixins": [ "composables/private/use-size", "composables/private/use-form" ],

  "meta": {
    "docsUrl": "https://v2.quasar.dev/vue-components/rating"
  },

  "props": {
    "model-value": {
      "extends": "model-value",
      "type": "Number",
      "examples": [ "v-model=\"rating\"", ":model-value=\"rating\"", ":model-value=\"2\"" ]
    },

    "max": {
      "type": [ "Number", "String" ],
      "desc": "Number of icons to display",
      "default": 5,
      "category": "general"
    },

    "icon": {
      "type": [ "String", "Array" ],
      "desc": "Icon name following Quasar convention; make sure you have the icon library installed unless you are using 'img:' prefix; If an array is provided each rating value will use the corresponding icon in the array (0 based)",
      "examples": [
        "map",
        "ion-add",
        "img:https://cdn.quasar.dev/logo-v2/svg/logo.svg",
        "img:path/to/some_image.png"
      ],
      "category": "content"
    },

    "icon-selected": {
      "type": [ "String", "Array" ],
      "desc": "Icon name following Quasar convention to be used when selected (optional); make sure you have the icon library installed unless you are using 'img:' prefix; If an array is provided each rating value will use the corresponding icon in the array (0 based)",
      "examples": [
        "map",
        "ion-add",
        "img:https://cdn.quasar.dev/logo-v2/svg/logo.svg",
        "img:path/to/some_image.png"
      ],
      "category": "content"
    },

    "icon-half": {
      "type": [ "String", "Array" ],
      "desc": "Icon name following Quasar convention to be used when selected (optional); make sure you have the icon library installed unless you are using 'img:' prefix; If an array is provided each rating value will use the corresponding icon in the array (0 based)",
      "examples": [
        "map",
        "ion-add",
        "img:https://cdn.quasar.dev/logo-v2/svg/logo.svg",
        "img:path/to/some_image.png"
      ],
      "category": "content"
    },

    "icon-aria-label": {
      "type": [ "String", "Array" ],
      "desc": "Label to be set on aria-label for Icon; If an array is provided each rating value will use the corresponding aria-label in the array (0 based); If string value is provided the rating value will be appended; If not provided the name of the icon will be used",
      "examples": [
        "Rating",
        "[\"Bad\", \"Normal\", \"Good\"]"
      ],
      "category": "accessibility",
      "addedIn": "v1.20.3"
    },

    "color": {
      "extends": "color",
      "type": [ "String", "Array" ],
      "desc": "Color name for component from the Quasar Color Palette; v1.5.0+: If an array is provided each rating value will use the corresponding color in the array (0 based)",
      "examples": [ "primary", "teal-10", "[\"accent\", \"grey-7\"] "]
    },

    "color-selected": {
      "extends": "color",
      "type": [ "String", "Array" ],
      "desc": "Color name from the Quasar Palette for selected icons"
    },

    "color-half": {
      "extends": "color",
      "type": [ "String", "Array" ],
      "desc": "Color name from the Quasar Palette for half selected icons"
    },

    "no-dimming": {
      "type": "Boolean",
      "desc": "Does not lower opacity for unselected icons",
      "category": "style"
    },

    "no-reset": {
      "type": "Boolean",
      "desc": "When used, disables default behavior of clicking/tapping on icon which represents current model value to reset model to 0",
      "category": "model"
    },

    "readonly": {
      "extends": "readonly"
    },

    "disable": {
      "extends": "disable"
    }
  },

  "events": {
    "update:model-value": {
      "extends": "update:model-value"
    }
  },

  "slots": {
    "tip-[name]": {
      "desc": "Slot to define the tooltip of icon at '[name]' where name is a 1-based index; Suggestion: QTooltip"
    }
  }
}
